package com.ruoyi.course.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * 课程管理对象 lab_course
 * 
 * @author jun.wang
 * @date 2022-04-09
 */
public class LabCourse extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/** 主键 */
	private Long courseId;

	/** 学院 */
	@Excel(name = "学院")
	private Long collegeOrgId;
	private String collegeOrgName;

	/** 实验室 */
	@Excel(name = "实验室")
	private Long labId;

	private String labName;
	
	private String weekFlag;
	/**上课时间*/
	private String sksj;
	

	public String getSksj() {
		return sksj;
	}

	public void setSksj(String sksj) {
		this.sksj = sksj;
	}

	public String getWeekFlag() {
		return weekFlag;
	}

	public void setWeekFlag(String weekFlag) {
		this.weekFlag = weekFlag;
	}

	/** 专业 */
	@Excel(name = "专业")
	private String majorOpt;
	
	private String majorName;
	

	public String getMajorName() {
		return majorName;
	}

	public void setMajorName(String majorName) {
		this.majorName = majorName;
	}

	/** 课程编码 */
	@Excel(name = "课程编码")
	private String courseNo;

	/** 实验项目 */
	@Excel(name = "实验项目")
	private String experimentalProject;

	/** 班级 */
	@Excel(name = "班级")
	private String classNo;

	/** 每组人数 */
	@Excel(name = "每组人数")
	private Long personsOfGroup;

	

	/** 开课地点 */
	@Excel(name = "开课地点")
	private String classRoomId;

	/** 课程名称 */
	@Excel(name = "课程名称")
	private String courseName;

	/** 实验学时 */
	@Excel(name = "实验学时")
	private Long experimentalHours;

	/** 人数 */
	@Excel(name = "人数")
	private Integer personNum;

	/** 周次 */
	@Excel(name = "周次")
	private Integer weekOpenNums;

	 /** 节次开始 */
    @Excel(name = "节次开始")
    private Integer sectionStart;

    /** 节次结束 */
    @Excel(name = "节次结束")
    private Integer sectionEnd;
    /** 星期 */
	@Excel(name = "星期")
	private Long weekDayOpt;
	
    /** 节次开始 */
    private Integer weekStart;

    /** 节次结束 */
    private Integer weekEnd;
    
    /** 节次开始 */
    private Integer initWeekStart;

    /** 节次结束 */
    private Integer initWeekEnd;
    
    /** 周一 */
	@Excel(name = "周一")
	private String day1;
	
	/** 周二 */
	@Excel(name = "周二")
	private String day2;
	/** 周三 */
	@Excel(name = "周三")
	private String day3;
	/** 周四 */
	@Excel(name = "周四")
	private String day4;
	/** 周五 */
	@Excel(name = "周五")
	private String day5;
	/** 周六 */
	@Excel(name = "周六")
	private String day6;
	/** 周日 */
	@Excel(name = "周日")
	private String day7;
	
    
	public String getDay1() {
		return day1;
	}

	public void setDay1(String day1) {
		this.day1 = day1;
	}

	public String getDay2() {
		return day2;
	}

	public void setDay2(String day2) {
		this.day2 = day2;
	}

	public String getDay3() {
		return day3;
	}

	public void setDay3(String day3) {
		this.day3 = day3;
	}

	public String getDay4() {
		return day4;
	}

	public void setDay4(String day4) {
		this.day4 = day4;
	}

	public String getDay5() {
		return day5;
	}

	public void setDay5(String day5) {
		this.day5 = day5;
	}

	public String getDay6() {
		return day6;
	}

	public void setDay6(String day6) {
		this.day6 = day6;
	}

	public String getDay7() {
		return day7;
	}

	public void setDay7(String day7) {
		this.day7 = day7;
	}

	public Integer getInitWeekStart() {
		return initWeekStart;
	}

	public void setInitWeekStart(Integer initWeekStart) {
		this.initWeekStart = initWeekStart;
	}

	public Integer getInitWeekEnd() {
		return initWeekEnd;
	}

	public void setInitWeekEnd(Integer initWeekEnd) {
		this.initWeekEnd = initWeekEnd;
	}

	public Integer getSectionStart() {
		return sectionStart;
	}

	public void setSectionStart(Integer sectionStart) {
		this.sectionStart = sectionStart;
	}

	public Integer getSectionEnd() {
		return sectionEnd;
	}

	public void setSectionEnd(Integer sectionEnd) {
		this.sectionEnd = sectionEnd;
	}

	public Integer getWeekStart() {
		return weekStart;
	}

	public void setWeekStart(Integer weekStart) {
		this.weekStart = weekStart;
	}

	public Integer getWeekEnd() {
		return weekEnd;
	}

	public void setWeekEnd(Integer weekEnd) {
		this.weekEnd = weekEnd;
	}

	/** 课程时间表ID */
	private Long timetableId;

	/** 代课老师 */
	private List<LabCourseTeacher> courseTeacherList;

	private String startDate;
	private String endDate;

	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date courseDate;
	
	private List<LabCourseDate> courseDateList;

	public List<LabCourseDate> getCourseDateList() {
		return courseDateList;
	}

	public void setCourseDateList(List<LabCourseDate> courseDateList) {
		this.courseDateList = courseDateList;
	}

	private Long courseDateId;

	public Long getCourseDateId() {
		return courseDateId;
	}

	public void setCourseDateId(Long courseDateId) {
		this.courseDateId = courseDateId;
	}

	public Date getCourseDate() {
		return courseDate;
	}

	public void setCourseDate(Date courseDate) {
		this.courseDate = courseDate;
	}

	public String getStartDate() {
		return startDate;
	}

	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}

	public String getEndDate() {
		return endDate;
	}

	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}

	public void setCourseId(Long courseId) {
		this.courseId = courseId;
	}

	public Long getCourseId() {
		return courseId;
	}

	public void setCollegeOrgId(Long collegeOrgId) {
		this.collegeOrgId = collegeOrgId;
	}

	public Long getCollegeOrgId() {
		return collegeOrgId;
	}

	public void setLabId(Long labId) {
		this.labId = labId;
	}

	public Long getLabId() {
		return labId;
	}

	public void setMajorOpt(String majorOpt) {
		this.majorOpt = majorOpt;
	}

	public String getMajorOpt() {
		return majorOpt;
	}

	public void setCourseNo(String courseNo) {
		this.courseNo = courseNo;
	}

	public String getCourseNo() {
		return courseNo;
	}

	public void setExperimentalProject(String experimentalProject) {
		this.experimentalProject = experimentalProject;
	}

	public String getExperimentalProject() {
		return experimentalProject;
	}

	public void setClassNo(String classNo) {
		this.classNo = classNo;
	}

	public String getClassNo() {
		return classNo;
	}

	public void setPersonsOfGroup(Long personsOfGroup) {
		this.personsOfGroup = personsOfGroup;
	}

	public Long getPersonsOfGroup() {
		return personsOfGroup;
	}

	public void setWeekDayOpt(Long weekDayOpt) {
		this.weekDayOpt = weekDayOpt;
	}

	public Long getWeekDayOpt() {
		return weekDayOpt;
	}

	public void setClassRoomId(String classRoomId) {
		this.classRoomId = classRoomId;
	}

	public String getClassRoomId() {
		return classRoomId;
	}

	public void setCourseName(String courseName) {
		this.courseName = courseName;
	}

	public String getCourseName() {
		return courseName;
	}

	public void setExperimentalHours(Long experimentalHours) {
		this.experimentalHours = experimentalHours;
	}

	public Long getExperimentalHours() {
		return experimentalHours;
	}

	public void setPersonNum(Integer personNum) {
		this.personNum = personNum;
	}

	public Integer getPersonNum() {
		return personNum;
	}

	public void setWeekOpenNums(Integer weekOpenNums) {
		this.weekOpenNums = weekOpenNums;
	}

	public Integer getWeekOpenNums() {
		return this.weekOpenNums;
	}

	

	public Long getTimetableId() {
		return timetableId;
	}

	public void setTimetableId(Long timetableId) {
		this.timetableId = timetableId;
	}

	public List<LabCourseTeacher> getCourseTeacherList() {
		return courseTeacherList;
	}

	public void setCourseTeacherList(List<LabCourseTeacher> courseTeacherList) {
		this.courseTeacherList = courseTeacherList;
	}

	public String getCollegeOrgName() {
		return collegeOrgName;
	}

	public void setCollegeOrgName(String collegeOrgName) {
		this.collegeOrgName = collegeOrgName;
	}

	public String getLabName() {
		return labName;
	}

	public void setLabName(String labName) {
		this.labName = labName;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("courseId", getCourseId())
				.append("collegeOrgId", getCollegeOrgId()).append("labId", getLabId()).append("majorOpt", getMajorOpt())
				.append("courseNo", getCourseNo()).append("experimentalProject", getExperimentalProject())
				.append("classNo", getClassNo()).append("personsOfGroup", getPersonsOfGroup())
				.append("weekDayOpt", getWeekDayOpt()).append("classRoomId", getClassRoomId())
				.append("courseName", getCourseName()).append("experimentalHours", getExperimentalHours())
				.append("personNum", getPersonNum()).append("weekOpenNums", getWeekOpenNums())
				.append("sectionStart", getSectionStart()).append("sectionEnd", getSectionEnd())
				.append("createBy", getCreateBy()).append("createTime", getCreateTime())
				.append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).toString();
	}
}
